const path = require('path')
//导入在内存中生成 HTML 页面的插件
const htmlWebpackPlugin = require('html-webpack-plugin')
//这个配置文件是通过Node中的模块操作，向外暴露一个配置对象
module.exports = {
    entry:path.join(__dirname,'./src/main.js'), //入口配置
    output:{//配置出口文件
        path: path.join(__dirname,'./dist'),//出口目录
        filename: 'bundle.js'//指定输出文件的名称
    },

    plugins:[
        new htmlWebpackPlugin({//创建一个在内存中生成HTML 页面的插件
            template:path.join(__dirname,'./src/index.html'),//这是指定生成内存HTML页面的模板页面
            filename:'index.html' //指定生成的页面的名称
        })
    ],
    module:{//用于配置所有的第三方文件加载器
        rules:[//所有第三方文件的匹配规则
            {test:/\.css$/,use:['style-loader','css-loader']},//这是配置处理.css文件的第三方loader，调用顺序从右到左
            {test:/\.less$/,use:['style-loader','css-loader','less-loader']},//这是配置处理.less文件的第三方loader
            //{test:/\.scss$/,use:['style-loader','css-loader','sass-loader']},//配置.scss文件的第三方loader规则
            {test:/\.(jpg|png|gif|bmp|jpeg)$/,use:'url-loader?limit=7631'},//配置图片文件的第三方loader
            {test:/\.(ttf|eot|svg|woff|woff2)$/,use:'url-loader'},//配置文字文件的第三方loader
            {test:/\.js$/,use:'babel-loader',exclude:/node_modules/},//引入ES6高级语言转换低级语言的第三方包babel，exclude排除不执行转换的目录
            {test:/\.vue$/,use:'vue-loader'},//引入vue-loader第三方包
            
        ]
    },
    resolve:{
        alias:{//设置vue被导入时导入包的路径
            //"vue$":"vue/dist/vue.js"
        }
    }
}